package com.kly.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @author admin
 * @date 2025/5/5
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface SpiderCheckAnno {

    /**
     * key userId
     * @return
     */
    long value() default 0;

    /**
     * 间隔时间
     * @return
     */
    long interval() default 60;

    /**
     * 时间单位
     * @return
     */
    TimeUnit unit() default TimeUnit.SECONDS;

    /**
     * 超时时间
     * @return
     */
    long timeout() default 60;


    /**
     * 警告最大次数
     * @return
     */
    long warnSize() default 10;

    /**
     * 封禁最大次数
     * @return
     */
    long banSize() default 20;

    /**
     * 封🈲时间
     */
    long banTime() default 60;
}
